# Copyright 2021 Wechat Group, Tencent
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.


def get_all_node_generators():
    from .at import At
    from .at1 import At1
    from .cast import Cast
    from .concat import Concat
    from .createtensor import CreateTensor
    from .createvector import CreateVector
    from .expand import Expand
    from .flatten import Flatten
    from .getdimension import GetDimension
    from .getshape import GetShape
    from .identity import Identity
    from .if_ import If
    from .loop import Loop
    from .pad import Pad
    from .range import Range
    from .reshape import Reshape
    from .slicev1 import SliceV1
    from .slicev2 import SliceV2
    from .split import Split
    from .squeeze import Squeeze
    from .stack import Stack
    from .tile import Tile
    from .totensor import ToTensor
    from .tovalue import ToValue
    from .tovector import ToVector
    from .transpose import Transpose
    from .tril import Tril
    from .triu import Triu
    from .unsqueeze import Unsqueeze

    return [
        At,
        At1,
        Cast,
        Concat,
        CreateTensor,
        CreateVector,
        Expand,
        Flatten,
        GetDimension,
        GetShape,
        Identity,
        If,
        Loop,
        Pad,
        Range,
        Reshape,
        SliceV1,
        SliceV2,
        Split,
        Squeeze,
        Stack,
        Tile,
        ToTensor,
        ToValue,
        ToVector,
        Transpose,
        Tril,
        Triu,
        Unsqueeze,
    ]
